﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sakura.Games.StgFramework.Builder
{
	/// <summary>
	/// 表示使用距离进行限制的范围。
	/// </summary>
	public class Range : RangeBase
	{
		/// <summary>
		/// 获取或设置范围的最小值。
		/// </summary>
		public int Minimum
		{
			get;
			set;
		}

		/// <summary>
		/// 获取或设置范围的最大值。
		/// </summary>
		public int Maximum
		{
			get;set;
		}
	
		/// <summary>
		/// 获取一个值，指示该范围是否包含指定位置的点。
		/// </summary>
		/// <param name="point">判断是否要包含的点。</param>
		/// <returns>如果范围 中包含指定的位置，返回 <c>true</c>，否则返回 <c>false</c>。</returns>
		public override bool Contains(Point point)
		{
			var total = Math.Abs(point.X) + Math.Abs(point.Y);

			return total >= this.Minimum && total <= this.Maximum;
		}
	}
}
